Fast Interrupt Priority Management in Operating System Kernels
نویسندگان
چکیده
In this paper we describe a new, low-overhead technique for manipulating processor interrupt state in an operating system kernel. Both uniprocessor and multiprocessor operating systems protect against uniprocessor deadlock and data corruption by selectively enabling and disabling interrupts during critical sections. This happens frequently during latency-critical activities such as IPC, scheduling, and memory management. Unfortunately, the cycle cost of modifying the interrupt mask has increased by an order of magnitude in recent processor architectures. In this paper we describe optimistic interrupt protection, a technique which substantially reduces the cost of interrupt masking by optimizing mask manipulation for the common case of no interrupts. We present results for the Mach 3.0 microkernel operating system, although the technique is applicable to other kernel architectures, both micro and monolithic, that rely on interrupts to manage devices.
منابع مشابه
RT-MINIXv2: Architecture and Interrupt Handling
Tanenbaum’s MINIX operating system [1] was extended by Wainer with Real-Time (RT) services to conform RT-MINIX [2,3]. This work is on RTMINIXv2, a new version for academic uses that includes a RT-microkernel with more flexible IPC facilities supporting basic priority inheritance protocol, a fixed priority scheduler, timer and event driven interrupt management, statistics and RTmetrics collectio...
متن کاملThe Limitations of Fixed-Priority Interrupt Handling in PREEMPT RT and Alternative Approaches
Threaded interrupt handling is a common technique used in real-time operating systems since it increases system responsiveness and reduces priority inversions. The PREEMPT RT Linux kernel patch introduces aggressive threaded interrupt handling into the Linux kernel. However, under PREEMPT RT, interrupt handling threads must be assigned a single fixed scheduling priority. This can become a signi...
متن کاملDiscussion of Microkernel and Monolithic Kernel Approaches
The paper discusses monolithic approach against microkernel approach both used in operating systems. The paper presents the most critical features of operating systems concerning system architecture, communication model, and priority in processes, memory management and handling of any arrived exceptions as well as interrupts. The interrupt is a crucial factor for real time operating systems (RT...
متن کاملA Practical Verification Framework for Preemptive OS Kernels
We propose a practical verification framework for preemptive OS kernels. The framework models the correctness of API implementations in OS kernels as contextual refinement of their abstract specifications. It provides a specification language for defining the high-level abstract model of OS kernels, a program logic for refinement verification of concurrent kernel code with multi-level hardware ...
متن کاملImplementation of an Interrupt-Driven OSEK Operating System Kernel on an ARM Cortex-M3 Microcontroller
An operating system usually distinguishes between threads managed by a software scheduler and interrupt service routines, scheduled and dispatched by an interrupt controller. This paradigm has inherent problems for real-time systems as low-priority interrupt routines can interrupt high-priority threads. The Sloth concept proposes to overcome this issue by implementing both interrupt handlers an...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993